MongooseServerSelectionError: connect ECONNREFUSED ::1:27017
doubleyong
2024年06月27日 09:33
收录于文集
共59篇

问题:

在Nodejs 中使用mongoose连接MongoDB数据库时,报如下错误

Could not connect to MongoDB MongooseServerSelectionError: connect ECONNREFUSED ::1:27017

原因:

你的程序试图连接到地址 ::1,这个地址是 IPv6 地址,对应于 localhost。然而,MongoDB 没有在 IPv6 地址上监听,而只在 IPv4 地址(即 127.0.0.1)上监听。

解决方案

将连接的url中的localhost改为127.0.0.1即可

原来的代码:

代码块
JavaScript
自动换行
复制代码
var mongoose = require("mongoose");
mongoose.connect("mongodb://localhost:27017/travel")
    .then(() => {
        console.log("数据库连接成功!")
    })
    .catch((err) => {
        console.log("数据库连接失败!", err)
    })

module.exports = mongoose;    
复制成功

改为:

代码块
JavaScript
自动换行
复制代码
var mongoose = require("mongoose");
mongoose.connect("mongodb://127.0.0.1:27017/travel")
    .then(() => {
        console.log("数据库连接成功!")
    })
    .catch((err) => {
        console.log("数据库连接失败!", err)
    })

module.exports = mongoose;    
复制成功